from django.contrib.auth.models import AbstractUser
from django.db import models

# Create your models here.
# 用户信息模型类，拓展Django中AbstractUser认证用户模型类


class User(AbstractUser):
    # 手机号字段 max_length最大长度 unique唯一字段 blank=False设置不允许为空
    mobile = models.CharField(max_length=11,unique=True,blank=False)
    # 头像字段 upload_to指定上传图片的文件夹 blank=True设置允许为空
    avatar = models.ImageField(upload_to='avatar/%Y%m%d/',blank=True)
    # 简介字段 max_length最大长度 blank=True设置允许为空
    desc = models.TextField(max_length=200, blank=True)

    # 修改认证的字段
    USERNAME_FIELD = 'mobile'

    # 创建超级管理员的需要必须输入的字段
    REQUIRED_FIELDS = ['username', 'email']

    # 内部类 用于Model定义元数据信息
    class Meta:
        db_table = 'tb_user'   # 修改默认的表名
        verbose_name = '用户信息管理'       # Admin管理系统
        verbose_name_plural = verbose_name

    # 展示
    def __str__(self):
        return self.mobile
